package leetcode.problems;

import org.junit.Test;

/**
 * Created by gmwang on 2020/1/29
 * Subtract the Product and Sum of Digits of an Integer
 * 减去整数的乘积和位数之和
 */
public class SubtractTheProductAndSumofDigitsofanInteger {
    /**
     * Given an integer number n, return the difference between the product of its digits and the sum of its digits.
     * 给定一个整数n，返回其位数的乘积与其位数之和之间的差。
     *
     * Example 1:
     *
     * Input: n = 234
     * Output: 15
     * Explanation:
     * Product of digits = 2 * 3 * 4 = 24
     * Sum of digits = 2 + 3 + 4 = 9
     * Result = 24 - 9 = 15
     * Example 2:
     *
     * Input: n = 4421
     * Output: 21
     * Explanation:
     * Product of digits = 4 * 4 * 2 * 1 = 32
     * Sum of digits = 4 + 4 + 2 + 1 = 11
     * Result = 32 - 11 = 21
     *
     *
     * Constraints:
     *
     * 1 <= n <= 10^5
     **/
    public int subtractProductAndSum(int n) {
        int sub = 1;
        int sum = 0;
        while(n>0){
            sub *= n%10;
            sum += n%10;
            n = n/10;
        }
        return sub -sum;
    }
    @Test
    public void test() {
        int n = 4421;
        int res = subtractProductAndSum(n);
        System.out.println(res);
    }
}

